home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1993 July / InfoMagic USENET CD-ROM July 1993.ISO / sources / unix / volume16 / conf2 / part05 < prev    next >
Encoding:
Internet Message Format  |  1988-09-14  |  40.5 KB

  1. Subject:  v16i005:  Multi-user conference system, Part05/05
  2. Newsgroups: comp.sources.unix
  3. Sender: sources
  4. Approved: rsalz@uunet.UU.NET
  5.  
  6. Submitted-by: Keith Gabryelski <ucsd!elgar!ag>
  7. Posting-number: Volume 16, Issue 5
  8. Archive-name: conf2/part05
  9.  
  10. #! /bin/sh
  11. # This is a shell archive, meaning:
  12. # 1. Remove everything above the #! /bin/sh line.
  13. # 2. Save the resulting text in a file.
  14. # 3. Execute the file with /bin/sh (not csh) to create the files:
  15. #    doc
  16. export PATH; PATH=/bin:$PATH
  17. if test ! -d 'doc'
  18. then
  19.     mkdir 'doc'
  20. fi
  21. cd 'doc'
  22. if test -f 'confhelp'
  23. then
  24.     echo shar: will not over-write existing file "'confhelp'"
  25. else
  26. cat << \SHAR_EOF > 'confhelp'
  27.         Help File for conf. (/usr/lib/conf/confhelp)
  28.  
  29. Conf is a line oriented multi-user chat program designed to work on any
  30. SysV, BSD, or Xenix system.
  31.  
  32. Conf has several advantages over the standard write program supplied
  33. with most Unix and Xenix operating systems.
  34.  
  35.     o    Unlimited users conferencing at once.
  36.  
  37.     o    100 separate discussion lines.
  38.  
  39.     o    Public and private messages in addition to password
  40.          encrypted messages.
  41.  
  42.     o    Quick and efficient user interaction.
  43.  
  44.     o    User definable formats for messages.
  45.  
  46.     o    Intelligent message display algorithm.
  47.  
  48. A brief description of COLON commands is given below.  To learn more about
  49. conf, type "man conf" at your shell prompt or ":!man conf" from within conf.
  50.  
  51. :cls {no options}
  52.     Clear the screen.
  53.  
  54. :exit or :quit {comments}
  55.     Leave conference.
  56.  
  57. :from FILENAME
  58.     Take message from file.
  59.  
  60. :help [COMMAND]
  61.     Print lots of help about a given command.  Default prints entire help
  62.     file.
  63.  
  64. :record [FILENAME]
  65.     Start recording conference messages to the file specified.  If no file
  66.     is specified and you are not current recording, the default file will be
  67.     used otherwise the currently record file will be closed and you will
  68.     stop recording.
  69.  
  70. :reply MESSAGE
  71.     Reply to last message sent privately.  With no args, reply will print
  72.     the user and tty to send to.
  73.  
  74. :ring USER1 [, USER2, ...]
  75.     Invite specified users to join you on conf.
  76.  
  77. :send {[USER][, /LINENUMBER][, :TTYNAME][, ...]} MESSAGE
  78.     Send a private message to a    username, ttyname, or line number.
  79.     When listing a linenumber, the number must    be proceeded by    a
  80.     slash '/'.  When listing a ttyname, the ttyname must be procceded
  81.     by a colon ':'.
  82.  
  83. :set {[(no)OPTION][, OPTION=VALUE | OPTION="STRING VALUES"
  84.     Set a flag or option.  If no argument if given to a numeric or
  85.     string option, the current value will be displayed.
  86.  
  87. :shell {no options}
  88.     Invoke preferred shell.
  89.  
  90. :shout MESSAGE
  91.     Send a message to all terminals logged in to conf.  Don't use this
  92.     command thoughtlessly.
  93.  
  94. :to LINENUMBER
  95.     Switch to a new conference line (1 - 100).  If no argument is given,
  96.     your current conference line will be displayed.
  97.  
  98. :who LINENUMBER
  99.     List users on conference.  With no args, all conference lines are
  100.     displayed.  Who will list users names, ttys, and what lines they
  101.     are on.  If a users name is proceeded by an asterisk '*', that
  102.     user is currently recording.
  103.  
  104. :version {no options}
  105.     Print the current version of conf and some credits.
  106.  
  107. :? [COMMAND]
  108.     Little help.  Just print the usage line for    a given colon command.
  109.     If no argument is given conf will displays the names of all commands
  110.     available to the user.
  111. SHAR_EOF
  112. fi # end of overwriting check
  113. if test -f 'READ_ME'
  114. then
  115.     echo shar: will not over-write existing file "'READ_ME'"
  116. else
  117. cat << \SHAR_EOF > 'READ_ME'
  118.         CONF - READ_ME
  119.  
  120.     1   Create a uid and gid for conf.  Conf will run setuid as that
  121.     user/group.  (this could be 'bin' or 'conf')
  122.  
  123.     2    Edit config.h and modify anything that needs it.
  124.     System type, and default options are specified this file.
  125.  
  126.     3    Edit Makefile and modify anything that looks likes it needs it.
  127.     Pay particular attention to CONFLIB, BINDIR, OWNER, and GROUP.
  128.  
  129.     4    make
  130.  
  131.     5    su
  132.     (sorry, but to setuid this pup, you must be root)
  133.  
  134.     6    make install
  135.  
  136.     7    rehash [if need be]
  137.  
  138.     8    conf
  139.  
  140. Conf should be running.
  141.  
  142. SHAR_EOF
  143. fi # end of overwriting check
  144. if test -f 'conf.1'
  145. then
  146.     echo shar: will not over-write existing file "'conf.1'"
  147. else
  148. cat << \SHAR_EOF > 'conf.1'
  149. .TH CONF 1
  150. .SH NAME
  151. conf \- conference with other users.
  152. .SH SYNOPSIS
  153. .B conf
  154. [-w][-l linenumber][-s switch] username1 username2 ...
  155. .SH DESCRIPTION
  156. Conf is a line oriented multi-user chat program designed to work on any
  157. SysV, BSD, or Xenix system.
  158. .PP
  159. Conf has several advantages over the standard write program supplied with
  160. most Unix and Xenix operating systems.
  161. .RS
  162. .TP
  163. o
  164. You are not limited to the number of users that may be on one
  165. conference line.
  166. .TP
  167. o
  168. Some users of conf may switch a separate line to avoid
  169. confusion with other discussions.  There are 100 separate lines called
  170. "conference lines".
  171. .TP
  172. o
  173. Messages that conf users may send may be specific to a line,
  174. a user, a tty, or to all users currently on conf (see COLON COMMANDS; reply,
  175. send, and shout).
  176. .TP
  177. o
  178. Conf keeps track of who is on conf, what line they are on,
  179. and if they are recording messages.  This allows users to quickly find
  180. out who is using conf and how to send a message to them (see
  181. COLON COMMANDS; who).
  182. .TP
  183. o
  184. Conf allows its users to distinguish between, user messages (known as "Normal
  185. Messages"), private messages (known as "Send Messages"), system messages
  186. (known as "Information Messages"), messages to a line that the sending users
  187. is not on (known as "Line Messages"), and messages to all users (known as
  188. "Shout Messages").  Conf allows its users to set the type-out mode of any
  189. of the message types to a user pleasant format that may or may not
  190. include the from-user's name, tty, message, or the to-user's name or
  191. tty (see MESSAGES TYPES and MESSAGES FORMATS).
  192. .TP
  193. o
  194. Conf will not print an incoming message until the user has finished
  195. typing.  Incoming messages will be "held" until the users has sent
  196. a message (or otherwise cleared the input buffer).  If the user is
  197. using the Gnumacs interface, the screen will be updated without
  198. imparing the message the user is currently typing.
  199. .SH SWITCHES
  200. .TP
  201. .BI \-l " line number"
  202. Set the startup line.  The default is 1.
  203. .TP
  204. .BI \-s " switch"
  205. Set option [switch] to the given value.  (see OPTIONS)
  206. .TP
  207. .BI \-w " line number"
  208. Display who is using conf on the specified line.  If no line number is
  209. given, conf with display all users that are currently on conf.
  210. .TP
  211. .I username
  212. Ring
  213. .I "username"
  214. to join conf.
  215. .SH OPTIONS
  216. There are three types of options,
  217. .I "boolean, numeric,"
  218. and
  219. .I string.
  220. Options may be specified in a "rc file" called .confrc in the users home
  221. directory, the environment variable CONFOPTS, as parameters to conf
  222. using the -s switch, and while running conf with the colon
  223. command "set".  In any case, options are separated by commas, and
  224. may be shortened to the least ambiguous string.
  225. .TP
  226. .BI "Boolean Options:"
  227. Boolean options are set by putting their names the appropriate list.
  228. Boolean options may be reset by proceeding their name with a '!' or
  229. the word "no".  (i.e. "foo" sets the boolean option "foo", "!foo" or
  230. "nofoo" would negate (reset) the option "foo")
  231. .RS
  232. .PP
  233. .B banner
  234. .RS
  235. If set, conf will display its version number and credits when the user
  236. logs in.
  237. .RE
  238. .PP
  239. .B beep
  240. .RS
  241. If set, conf will beep (send a ctrl-G) when a message is displayed on
  242. your terminal.
  243. .RE
  244. .PP
  245. .B expandctrl
  246. .RS
  247. If set, conf will expand control characters to a user
  248. visible string (e.g. ctrl-X would be printed as ^X).  If this option is
  249. negated, all control characters will be passed to the user without
  250. modification.
  251. .RE
  252. .PP
  253. .B expand8bit
  254. .RS
  255. If set, conf will expand any character with bit 7 set
  256. to a user visible string (e.g. Meta-X would be printed as ~X).
  257. .RE
  258. .PP
  259. .B seeme
  260. .RS
  261. If set, the conf will display any "Normal Message" typed by you.  If
  262. this option is negated, conf will not display "Normal Messages"
  263. by you.  (see MESSAGE TYPES).
  264. .RE
  265. .PP
  266. .B seemyinform
  267. .RS
  268. If set, conf will display "Information Messages" by you.  If this option
  269. is negated, conf will ignore "Information Messages" by you.
  270. (see MESSAGE TYPES).
  271. .RE
  272. .PP
  273. Sample: banner,nobeep,noseeme
  274. .PP
  275. Will set
  276. .B banner
  277. , but will reset
  278. .B "beep, and seeme."
  279. .RE
  280. .PP
  281. .B "Numeric Options:"
  282. Numeric options have the form option=number.
  283. .RS
  284. .PP
  285. .B line
  286. .RS
  287. Conference line number to use.
  288. .RE
  289. .PP
  290. Sample: line=2
  291. .PP
  292. Will set
  293. .B "line = 2"
  294. .RE
  295. .PP
  296. .B "String Options:"
  297. String options take the form option=string or option="space filled string".
  298. .RS
  299. .PP
  300. .B cls
  301. .RS
  302. Clear screen string.
  303. .RE
  304. .PP
  305. .B name
  306. .RS
  307. Your conference name.
  308. .RE
  309. .PP
  310. .B inform-format
  311. .RS
  312. Display format for information messages.  (see MESSAGE FORMATS)
  313. .RE
  314. .PP
  315. .B normal-format
  316. .RS
  317. Display format for normal messages.  (see MESSAGE FORMATS)
  318. .RE
  319. .PP
  320. .B send-format
  321. .RS
  322. Display format for private sends.  (see MESSAGE FORMATS)
  323. .RE
  324. .PP
  325. .B shout-format
  326. .RS
  327. Display format for display shouts.  (see MESSAGE FORMATS)
  328. .RE
  329. .PP
  330. .B line-format
  331. .RS
  332. Display format for display line sends.  (see MESSAGE FORMATS)
  333. .RE
  334. .PP
  335. .B recfile
  336. .RS
  337. The default record file.  This is usually "conf.rec".
  338. .RE
  339. .PP
  340. Sample: name=Aggy,recfile="record.conf"
  341. .PP
  342. Will set
  343. .B "name to ``Aggy'' and recfile to ``record.conf''"
  344. .RE
  345. .SH RC FILE
  346. This file contains lists of options and their values or colon commands to
  347. execute before logging into conf.  Blank lines as well as lines beginning
  348. with a '#' or ';' are ignored.
  349. .PP
  350. Colon commands that require the user to be logged in to execute are invalid
  351. in the .confrc file.  (e.g., :send, :shout, and :record).
  352. .PP
  353. A typical RC file might look like this:
  354. .PP
  355. .nf
  356. #
  357. # This file is .confrc which you can find in my home directory.
  358. #
  359.  
  360. :cls
  361. name = "Ag"
  362. pager = "/usr/local/bin/less"
  363. shell = "/bin/tcsh"
  364. banner
  365.  
  366. # End of Confrc file.
  367.  
  368. .fi
  369. .SH ENVIRONMENT VARIABLE
  370. Conf recognizes several shell variables for defining preferences.
  371. .PP
  372. .RS
  373. .B CONFOPTS
  374. .RS
  375. This environment variable holds a list of options and their values.  A
  376. typical environment variable might look like this:
  377. .PP
  378. CONFOPTS=banner,name="Ag"
  379. .RE
  380. .PP
  381. .B SHELL
  382. .RS
  383. Your preferred shell.  (e.g. SHELL=/bin/sh)
  384. .RE
  385. .PP
  386. .B "PG"
  387. or
  388. .B "PAGER"
  389. .RS
  390. Your preferred pager.  (e.g. PG=/usr/local/bin/less)
  391. .RE
  392. .PP
  393. .B TERM
  394. .RS
  395. Your terminal's name.  (e.g. TERM=tvi950)
  396. .RE
  397. .RE
  398. .RE
  399. .SH MESSAGE TYPES
  400. There are several types of messages you can receiving while using conf.
  401. .PP
  402. .B "Normal Messages:"
  403. are messages that get sent to all users on your current line number.
  404. You can send a
  405. .B "normal messages"
  406. by typing a line and pressing return while inside conf.  Users
  407. may filter Normal Messages from themselves by resetting the
  408. .B seeme
  409. variable.
  410. .PP
  411. .B "Information Messages:"
  412. are system messages about a certain user.  Login, Logouts, and line
  413. switching are all forms of
  414. .B "Information Messages."
  415. Information messages are automaticly sent to all users that are affected
  416. by a certain users actions.  Users may filter Information Messages by
  417. themselves by resetting the
  418. .b seemyinform
  419. variable.
  420. .PP
  421. .BI "Send Messages:"
  422. are messages sent to a specific user, tty, or line number.  They are sent
  423. by using the colon command "send" (see COLON COMMANDS)
  424. .SH MESSAGE FORMAT
  425. You may personalize the way conf prints different messages by
  426. modifying the appropriate format string.  A format string consists of
  427. a null terminated string will text and meta characters.  Conf interprets
  428. meta characters as follows.
  429. .RS
  430. .TP
  431. .B %N
  432. Your conference name.
  433. .TP
  434. .B %n
  435. Name of user sending message.
  436. .TP
  437. .B %m
  438. Message users sent.
  439. .TP
  440. .B %T
  441. Your tty.
  442. .TP
  443. .B %t
  444. Tty of user that sent message.
  445. .TP
  446. .B %%
  447. The character '%'
  448. .RE
  449. .PP
  450. If you wanted normal messages to print only the messages itself you
  451. would :set normal-format ="%m^J".  If you wanted sends to be display with
  452. only the username of the person sending the messages and the messages itself,
  453. you would :set send-format ="%n - %m".
  454. .SH COLON COMMANDS
  455. Any line whose first character is a colon (':') and whose second character
  456. *is not* a colon will be interpreted as a "Colon command".  A list of colon
  457. commands follows.
  458. .RS
  459. .PP
  460. .B ":cls"
  461. .RS
  462. .PP
  463. Clear the screen.
  464. .RE
  465. .PP
  466. .B ":exit"
  467. or
  468. .B ":quit"
  469. .RS
  470. .PP
  471. Leave conference.
  472. .RE
  473. .PP
  474. .BI ":from" " filename"
  475. .RS
  476. .PP
  477. Take message from file.
  478. .RE
  479. .PP
  480. .BI ":help" " command"
  481. .RS
  482. .PP
  483. Print lots of help about a given command.  Default prints entire help file.
  484. .RE
  485. .PP
  486. .BI ":record" " filename"
  487. .RS
  488. .PP
  489. Start recording conference messages to the file specified.  If no file is
  490. specified and you are not current recording, the default file will be
  491. used otherwise the currently record file will be closed and you will stop
  492. recording.
  493. .RE
  494. .PP
  495. .BI ":reply" " message"
  496. .RS
  497. .PP
  498. Reply to last message sent privately.  With no args, reply will print the
  499. user and tty to send to.
  500. .RE
  501. .PP
  502. .BI ":ring" " user1, user2, ..."
  503. .RS
  504. .PP
  505. Invite specified users to join you on conf.
  506. .RE
  507. .PP
  508. .BI ":send" " user, /linenumber, :ttyname,...  message" 
  509. .RS
  510. .PP
  511. Send a private message to a username, ttyname, or line number.   When listing
  512. a linenumber, the number must be proceeded by a slash '/'.  When listing a
  513. ttyname, the ttyname must be procceded by a colon ':'.
  514. .RE
  515. .PP
  516. .BI ":set" " [no]option, option=value"
  517. .RS
  518. .PP
  519. Set a flag or option.  If no argument if given to a numeric or string
  520. option, the current value will be displayed.
  521. .RE
  522. .PP
  523. .B ":shell"
  524. .RS
  525. .PP
  526. Invoke preferred shell.
  527. .RE
  528. .PP
  529. .BI ":shout" " message"
  530. .RS
  531. .PP
  532. Send a message to all terminals logged in to conf.  Don't use this
  533. command thoughtlessly.  A frequent use on our system is ":shout Everyone
  534. off of conf, I'm installing a version without bugs!".  :-)
  535. .RE
  536. .PP
  537. .BI ":to" " line number"
  538. .RS
  539. .PP
  540. Switch to a new conference line (1 - 100).  If no argument is given,
  541. your current conference line will be displayed.
  542. .RE
  543. .PP
  544. .BI ":who" " line number"
  545. .RS
  546. .PP
  547. List users on conference.  With no args, all conference lines are displayed.
  548. Who will list users names, ttys, and what lines they are on.  If a users
  549. name is proceeded by an asterisk '*', that user is currently recording.
  550. .RE
  551. .PP
  552. .B ":version"
  553. .RS
  554. .PP
  555. Print the current version of conf and some credits.
  556. .RE
  557. .PP
  558. .BI ":?" " command"
  559. .RS
  560. .PP
  561. Little help.  Just print the usage line for a given colon command.  If no
  562. argument is given conf will displays the names of all commands available to
  563. the user.
  564. .RE
  565. .RE
  566. .SH LINE EDITING
  567. Conf supports limited line editing features.  While you are typing a line,
  568. the following "control" characters will be interpreted as line editing
  569. characters:
  570. .PP
  571. (A character proceeded by a caret '^' symbolize control characters.  You
  572. must hold down the "Control key" and press the given letter to get these
  573. characters)
  574. .RS
  575. .TP
  576. .B "^C"
  577. Abort this line.
  578. .TP
  579. .B "^D"
  580. If this is the first character on the line, conf will log you out.
  581. .TP
  582. .B "^H, DEL"
  583. Delete the last character typed.
  584. .TP
  585. .B "^J, ^M"
  586. End of line.  Conf will its voodoo on this line.
  587. .TP
  588. .B "^L"
  589. Clear screen and display current line.
  590. .TP
  591. .B "^Q, ^S"
  592. X-ON , X-OFF is you have them set.
  593. .TP
  594. .B "^R"
  595. CRLF and reprint line.
  596. .TP
  597. .B "^W"
  598. Delete last word.
  599. .TP
  600. .B "^Z"
  601. Stop process (if supported on your system).
  602. .RE
  603. .SH ELEPHANT TALK
  604. There is a jargon that goes along with online tty communication.  The
  605. list that follows will give you an idea of how to interpret local
  606. jargoneese.  (Stolen, without permission from MIT's OZ:<COMMON>:JARGON.TXT)
  607. .RS
  608. .TP
  609. .B "Ack!"
  610. Term of disgust (from Bill the Cat's, "Ackphtft!")
  611. .TP
  612. .B BCNU
  613. Be seeing you.
  614. .TP
  615. .B BTW
  616. By the way...
  617. .TP
  618. .B "Bye?"
  619. Are you ready to logout?  (This is the standard way to end a conference;
  620. the other users type BYE to confirm, or else continue the conversation.)
  621. .TP
  622. .B CUL
  623. See you later.  Variation: "CULater"
  624. .TP
  625. .B "Foo?"
  626. A greeting, also meaning R U THERE?  Used to confirm a if a user is at
  627. the terminal.  Also meaning, "What's up?".
  628. .TP
  629. .B FYI
  630. For your information...
  631. .TP
  632. .B "Hello-p"
  633. A greeting, also meaning R U THERE?  (An instance of the "-P" convention.)
  634. .TP
  635. .B MtFBWY
  636. May the Force be with you.  (From Star Wars.)
  637. .TP
  638. .B Nil
  639. No.
  640. .TP
  641. .B OBTW
  642. Oh, by the way...
  643. .TP
  644. .B "R U There?"
  645. Are you there?
  646. .TP
  647. .B Sec
  648. Wait a second (sometimes written SEC...).
  649. .TP
  650. .B T
  651. Yes.
  652. .TP
  653. .B TNX
  654. Thanks.
  655. .TP
  656. .B "TNX 1.0E6"
  657. Thanks a million (humorous).
  658. .TP
  659. .B "/\\\\\\\\\\\\\\\\\\\\\\\\\/\\\\\\\\\\\\\\\\\\\\/\\\\\\\\\\\\\\\\\\\\\\\\\\\"
  660. The equivalent of a giggle.
  661. .TP
  662. .B [message]
  663. A message surrounded by square brackets "[]" is considered for
  664. information purposes or for explaining a users physical expression.
  665. Typical examples include:
  666. .RS
  667. .TP
  668. .B [Chuckle]
  669. The users is amused.
  670. .TP
  671. .B [Confused]
  672. The user is confused on a particular subject.
  673. .TP
  674. .B [Sigh]
  675. To indicate a sadness or "Sigh of relief".
  676. .TP
  677. .B [To Restroom]
  678. The user will be away from the screen to take care of some business.
  679. .RE
  680. .RE
  681. .SH CONF AND EMACS
  682. .B conf.el
  683. The conf users of conf are provided with a emacs lisp function that will
  684. allow them to run conf as a subprocess of emacs (if they compiled emacs
  685. with #define subprocesses).  This gives the users several added features
  686. that they would not normally have without emacs.
  687. .RS
  688. .TP
  689. o
  690. The user may receive messages while he/she is typing messages.
  691. .TP
  692. o
  693. Emacs will keep a transaction of all messages in the buffer "*conference*"
  694. which previous sends can be looked at if they were missed.
  695. .TP
  696. o
  697. Auto-fill of incoming messages.
  698. .TP
  699. o
  700. The "warm-fuzzy" -- emacs full screen editing.
  701. .RE
  702. .PP
  703. To use conf.el, copy it (probably from /usr/lib/conf/conf.el) into
  704. your .emacs file and M-X conference.
  705. .SH FILES
  706. .RS
  707. .PP
  708. /usr/lib/conf/confhelp    - Help file.
  709. .PP
  710. /usr/lib/conf/conflog    - Messages transaction file.
  711. .PP
  712. /usr/lib/conf/confusers    - User log file.
  713. .PP
  714. /usr/lib/conf/conf.lock    - A lock file.
  715. .RE
  716. .SH BUGS
  717. .B "Known Bugs:"
  718. .RS
  719. If a SIG_INT (^C) is done while messages are being saved to the record file,
  720. parts of the messages may be hacked off.  This is a feature.  fnord.
  721. .RE
  722. .B "Reporting bugs or suggestions:"
  723. .RS
  724. Send any bugs reports, fixes, or improvements to ag@portnoy.UUCP or
  725. ag@crash.UUCP.  I am always open to coherent suggestions or comments.
  726. .RE
  727. .SH IMPROVEMENTS
  728. Several things are in the works.  I have listed some major and minor
  729. improvements below.
  730. .PP
  731. This documentation.
  732. .PP
  733. Online documentation should include information about variables and
  734. more information about HOW TO.
  735. .PP
  736. There should be a way to set default settings for strings.  So,
  737. if a user user really spazzes, they may reset to defaults.  This can be taken
  738. care of (now) by logging out and re-logging into conf.
  739. .PP
  740. A Remote conf is being thought of, ideas here would be
  741. appreciated.  Maybe conf could be a service on the remote site which would
  742. copy any file activity to the local site.  Re-organizing the conflog structs
  743. to work on any machine would have to be done.
  744. .PP
  745. The confusers files should be done with shared memory (if the system
  746. has it).  This would allow conf to update the "memory" with
  747. information like idle time and such.  The biggest problem with conf is
  748. that users cannot tell if a person is in the middle of typing a
  749. message or if a user has been shot and is slumped over the keys.
  750. Constantly updating a shared file would drag the system down, so idle
  751. time will be done in shared memory only.  If anyone has any
  752. suggestions ...
  753. .PP
  754. :ignore user/tty/sends/shouts  will be implemented someday.
  755. .PP
  756. Some way of hi-lighting text, probably using cryptic escape sequences.
  757. There is a definite need for highlighting in the format strings.
  758. .PP
  759. Format strings should be checked for validity.  Check '%m' and a linefeed
  760. at the end and warn if they don't exist.
  761. .SH AUTHOR
  762. .RS
  763. .PP
  764. Keith M. Gabryelski (ag@elgar.UUCP)
  765. .PP
  766. Special thanks to:
  767. .RS
  768. .PP
  769. Michael Ditto (ford@kenobi.UUCP)
  770. .RE
  771. .RE
  772. SHAR_EOF
  773. fi # end of overwriting check
  774. if test -f 'conf.txt'
  775. then
  776.     echo shar: will not over-write existing file "'conf.txt'"
  777. else
  778. cat << \SHAR_EOF > 'conf.txt'
  779.  
  780.  
  781.  
  782.      CONF(1)                  XENIX System V                   CONF(1)
  783.  
  784.  
  785.  
  786.      NAME
  787.           conf - conference with other users.
  788.  
  789.      SYNOPSIS
  790.           conf [-w][-l linenumber][-s switch] username1 username2 ...
  791.  
  792.      DESCRIPTION
  793.           Conf is a line oriented multi-user chat program designed to
  794.           work on any SysV, BSD, or Xenix system.
  795.  
  796.           Conf has several advantages over the standard write program
  797.           supplied with most Unix and Xenix operating systems.
  798.  
  799.                o    You are not limited to the number of users that
  800.                     may be on one conference line.
  801.  
  802.                o    Some users of conf may switch a separate line to
  803.                     avoid confusion with other discussions.  There are
  804.                     100 separate lines called "conference lines".
  805.  
  806.                o    Messages that conf users may send may be specific
  807.                     to a line, a user, a tty, or to all users
  808.                     currently on conf (see COLON COMMANDS; reply,
  809.                     send, and shout).
  810.  
  811.                o    Conf keeps track of who is on conf, what line they
  812.                     are on, and if they are recording messages.  This
  813.                     allows users to quickly find out who is using conf
  814.                     and how to send a message to them (see COLON
  815.                     COMMANDS; who).
  816.  
  817.                o    Conf allows its users to distinguish between, user
  818.                     messages (known as "Normal Messages"), private
  819.                     messages (known as "Send Messages"), system
  820.                     messages (known as "Information Messages"),
  821.                     messages to a line that the sending users is not
  822.                     on (known as "Line Messages"), and messages to all
  823.                     users (known as "Shout Messages").  Conf allows
  824.                     its users to set the type-out mode of any of the
  825.                     message types to a user pleasant format that may
  826.                     or may not include the from-user's name, tty,
  827.                     message, or the to-user's name or tty (see
  828.                     MESSAGES TYPES and MESSAGES FORMATS).
  829.  
  830.                o    Conf will not print an incoming message until the
  831.                     user has finished typing.  Incoming messages will
  832.                     be "held" until the users has sent a message (or
  833.                     otherwise cleared the input buffer).  If the user
  834.                     is using the Gnumacs interface, the screen will be
  835.                     updated without imparing the message the user is
  836.                     currently typing.
  837.  
  838.  
  839.  
  840.  
  841.      Page 1                                          (printed 4/22/88)
  842.  
  843.  
  844.  
  845.  
  846.  
  847.  
  848.      CONF(1)                  XENIX System V                   CONF(1)
  849.  
  850.  
  851.  
  852.      SWITCHES
  853.           -l line number
  854.                Set the startup line.  The default is 1.
  855.  
  856.           -s switch
  857.                Set option [switch] to the given value.  (see OPTIONS)
  858.  
  859.           -w line number
  860.                Display who is using conf on the specified line.  If no
  861.                line number is given, conf with display all users that
  862.                are currently on conf.
  863.  
  864.           username
  865.                Ring username to join conf.
  866.  
  867.      OPTIONS
  868.           There are three types of options, boolean, numeric, and
  869.           string. Options may be specified in a "rc file" called
  870.           .confrc in the users home directory, the environment
  871.           variable CONFOPTS, as parameters to conf using the -s
  872.           switch, and while running conf with the colon command "set".
  873.           In any case, options are separated by commas, and may be
  874.           shortened to the least ambiguous string.
  875.  
  876.           Boolean Options:
  877.                Boolean options are set by putting their names the
  878.                appropriate list.  Boolean options may be reset by
  879.                proceeding their name with a '!' or the word "no".
  880.                (i.e. "foo" sets the boolean option "foo", "!foo" or
  881.                "nofoo" would negate (reset) the option "foo")
  882.  
  883.                banner
  884.                     If set, conf will display its version number and
  885.                     credits when the user logs in.
  886.  
  887.                beep
  888.                     If set, conf will beep (send a ctrl-G) when a
  889.                     message is displayed on your terminal.
  890.  
  891.                expandctrl
  892.                     If set, conf will expand control characters to a
  893.                     user visible string (e.g. ctrl-X would be printed
  894.                     as ^X).  If this option is negated, all control
  895.                     characters will be passed to the user without
  896.                     modification.
  897.  
  898.                expand8bit
  899.                     If set, conf will expand any character with bit 7
  900.                     set to a user visible string (e.g. Meta-X would be
  901.                     printed as ~X).
  902.  
  903.                seeme
  904.  
  905.  
  906.  
  907.      Page 2                                          (printed 4/22/88)
  908.  
  909.  
  910.  
  911.  
  912.  
  913.  
  914.      CONF(1)                  XENIX System V                   CONF(1)
  915.  
  916.  
  917.  
  918.                     If set, the conf will display any "Normal Message"
  919.                     typed by you.  If this option is negated, conf
  920.                     will not display "Normal Messages" by you.  (see
  921.                     MESSAGE TYPES).
  922.  
  923.                seemyinform
  924.                     If set, conf will display "Information Messages"
  925.                     by you.  If this option is negated, conf will
  926.                     ignore "Information Messages" by you.  (see
  927.                     MESSAGE TYPES).
  928.  
  929.                Sample: banner,nobeep,noseeme
  930.  
  931.                Will set banner , but will reset beep, and seeme.
  932.  
  933.           Numeric Options: Numeric options have the form
  934.           option=number.
  935.  
  936.                line
  937.                     Conference line number to use.
  938.  
  939.                Sample: line=2
  940.  
  941.                Will set line = 2
  942.  
  943.           String Options: String options take the form option=string
  944.           or option="space filled string".
  945.  
  946.                cls
  947.                     Clear screen string.
  948.  
  949.                name
  950.                     Your conference name.
  951.  
  952.                inform-format
  953.                     Display format for information messages.  (see
  954.                     MESSAGE FORMATS)
  955.  
  956.                normal-format
  957.                     Display format for normal messages.  (see MESSAGE
  958.                     FORMATS)
  959.  
  960.                send-format
  961.                     Display format for private sends.  (see MESSAGE
  962.                     FORMATS)
  963.  
  964.                shout-format
  965.                     Display format for display shouts.  (see MESSAGE
  966.                     FORMATS)
  967.  
  968.                line-format
  969.                     Display format for display line sends.  (see
  970.  
  971.  
  972.  
  973.      Page 3                                          (printed 4/22/88)
  974.  
  975.  
  976.  
  977.  
  978.  
  979.  
  980.      CONF(1)                  XENIX System V                   CONF(1)
  981.  
  982.  
  983.  
  984.                     MESSAGE FORMATS)
  985.  
  986.                recfile
  987.                     The default record file.  This is usually
  988.                     "conf.rec".
  989.  
  990.                Sample: name=Aggy,recfile="record.conf"
  991.  
  992.                Will set name to ``Aggy'' and recfile to
  993.                ``record.conf''
  994.  
  995.      RC FILE
  996.           This file contains lists of options and their values or
  997.           colon commands to execute before logging into conf.  Blank
  998.           lines as well as lines beginning with a '#' or ';' are
  999.           ignored.
  1000.  
  1001.           Colon commands that require the user to be logged in to
  1002.           execute are invalid in the .confrc file.  (e.g., :send,
  1003.           :shout, and :record).
  1004.  
  1005.           A typical RC file might look like this:
  1006.  
  1007.           #
  1008.           # This file is .confrc which you can find in my home directory.
  1009.           #
  1010.  
  1011.           :cls
  1012.           name = "Ag"
  1013.           pager = "/usr/local/bin/less"
  1014.           shell = "/bin/tcsh"
  1015.           banner
  1016.  
  1017.           # End of Confrc file.
  1018.  
  1019.  
  1020.      ENVIRONMENT VARIABLE
  1021.           Conf recognizes several shell variables for defining
  1022.           preferences.
  1023.  
  1024.                CONFOPTS
  1025.                     This environment variable holds a list of options
  1026.                     and their values.  A typical environment variable
  1027.                     might look like this:
  1028.  
  1029.                     CONFOPTS=banner,name="Ag"
  1030.  
  1031.                SHELL
  1032.                     Your preferred shell.  (e.g. SHELL=/bin/sh)
  1033.  
  1034.                PG or PAGER
  1035.                     Your preferred pager.  (e.g.
  1036.  
  1037.  
  1038.  
  1039.      Page 4                                          (printed 4/22/88)
  1040.  
  1041.  
  1042.  
  1043.  
  1044.  
  1045.  
  1046.      CONF(1)                  XENIX System V                   CONF(1)
  1047.  
  1048.  
  1049.  
  1050.                     PG=/usr/local/bin/less)
  1051.  
  1052.                TERM
  1053.                     Your terminal's name.  (e.g. TERM=tvi950)
  1054.  
  1055.      MESSAGE TYPES
  1056.           There are several types of messages you can receiving while
  1057.           using conf.
  1058.  
  1059.           Normal Messages: are messages that get sent to all users on
  1060.           your current line number.  You can send a normal messages by
  1061.           typing a line and pressing return while inside conf.  Users
  1062.           may filter Normal Messages from themselves by resetting the
  1063.           seeme variable.
  1064.  
  1065.           Information Messages: are system messages about a certain
  1066.           user.  Login, Logouts, and line switching are all forms of
  1067.           Information Messages. Information messages are automaticly
  1068.           sent to all users that are affected by a certain users
  1069.           actions.  Users may filter Information Messages by
  1070.           themselves by resetting the variable.
  1071.  
  1072.           Send Messages: are messages sent to a specific user, tty, or
  1073.           line number.  They are sent by using the colon command
  1074.           "send" (see COLON COMMANDS)
  1075.  
  1076.      MESSAGE FORMAT
  1077.           You may personalize the way conf prints different messages
  1078.           by modifying the appropriate format string.  A format string
  1079.           consists of a null terminated string will text and meta
  1080.           characters.  Conf interprets meta characters as follows.
  1081.  
  1082.                %N   Your conference name.
  1083.  
  1084.                %n   Name of user sending message.
  1085.  
  1086.                %m   Message users sent.
  1087.  
  1088.                %T   Your tty.
  1089.  
  1090.                %t   Tty of user that sent message.
  1091.  
  1092.                %%   The character '%'
  1093.  
  1094.           If you wanted normal messages to print only the messages
  1095.           itself you would :set normal-format ="%m^J".  If you wanted
  1096.           sends to be display with only the username of the person
  1097.           sending the messages and the messages itself, you would :set
  1098.           send-format ="%n - %m".
  1099.  
  1100.      COLON COMMANDS
  1101.           Any line whose first character is a colon (':') and whose
  1102.  
  1103.  
  1104.  
  1105.      Page 5                                          (printed 4/22/88)
  1106.  
  1107.  
  1108.  
  1109.  
  1110.  
  1111.  
  1112.      CONF(1)                  XENIX System V                   CONF(1)
  1113.  
  1114.  
  1115.  
  1116.           second character *is not* a colon will be interpreted as a
  1117.           "Colon command".  A list of colon commands follows.
  1118.  
  1119.                :cls
  1120.  
  1121.                     Clear the screen.
  1122.  
  1123.                :exit or :quit
  1124.  
  1125.                     Leave conference.
  1126.  
  1127.                :from filename
  1128.  
  1129.                     Take message from file.
  1130.  
  1131.                :help command
  1132.  
  1133.                     Print lots of help about a given command.  Default
  1134.                     prints entire help file.
  1135.  
  1136.                :record filename
  1137.  
  1138.                     Start recording conference messages to the file
  1139.                     specified.  If no file is specified and you are
  1140.                     not current recording, the default file will be
  1141.                     used otherwise the currently record file will be
  1142.                     closed and you will stop recording.
  1143.  
  1144.                :reply message
  1145.  
  1146.                     Reply to last message sent privately.  With no
  1147.                     args, reply will print the user and tty to send
  1148.                     to.
  1149.  
  1150.                :ring user1, user2, ...
  1151.  
  1152.                     Invite specified users to join you on conf.
  1153.  
  1154.                :send user, /linenumber, :ttyname,...  message
  1155.  
  1156.                     Send a private message to a username, ttyname, or
  1157.                     line number.   When listing a linenumber, the
  1158.                     number must be proceeded by a slash '/'.  When
  1159.                     listing a ttyname, the ttyname must be procceded
  1160.                     by a colon ':'.
  1161.  
  1162.                :set [no]option, option=value
  1163.  
  1164.                     Set a flag or option.  If no argument if given to
  1165.                     a numeric or string option, the current value will
  1166.                     be displayed.
  1167.  
  1168.  
  1169.  
  1170.  
  1171.      Page 6                                          (printed 4/22/88)
  1172.  
  1173.  
  1174.  
  1175.  
  1176.  
  1177.  
  1178.      CONF(1)                  XENIX System V                   CONF(1)
  1179.  
  1180.  
  1181.  
  1182.                :shell
  1183.  
  1184.                     Invoke preferred shell.
  1185.  
  1186.                :shout message
  1187.  
  1188.                     Send a message to all terminals logged in to conf.
  1189.                     Don't use this command thoughtlessly.  A frequent
  1190.                     use on our system is ":shout Everyone off of conf,
  1191.                     I'm installing a version without bugs!".  :-)
  1192.  
  1193.                :to line number
  1194.  
  1195.                     Switch to a new conference line (1 - 100).  If no
  1196.                     argument is given, your current conference line
  1197.                     will be displayed.
  1198.  
  1199.                :who line number
  1200.  
  1201.                     List users on conference.  With no args, all
  1202.                     conference lines are displayed.  Who will list
  1203.                     users names, ttys, and what lines they are on.  If
  1204.                     a users name is proceeded by an asterisk '*', that
  1205.                     user is currently recording.
  1206.  
  1207.                :version
  1208.  
  1209.                     Print the current version of conf and some
  1210.                     credits.
  1211.  
  1212.                :? command
  1213.  
  1214.                     Little help.  Just print the usage line for a
  1215.                     given colon command.  If no argument is given conf
  1216.                     will displays the names of all commands available
  1217.                     to the user.
  1218.  
  1219.      LINE EDITING
  1220.           Conf supports limited line editing features.  While you are
  1221.           typing a line, the following "control" characters will be
  1222.           interpreted as line editing characters:
  1223.  
  1224.           (A character proceeded by a caret '^' symbolize control
  1225.           characters.  You must hold down the "Control key" and press
  1226.           the given letter to get these characters)
  1227.  
  1228.                ^C   Abort this line.
  1229.  
  1230.                ^D   If this is the first character on the line, conf
  1231.                     will log you out.
  1232.  
  1233.                ^H, DEL
  1234.  
  1235.  
  1236.  
  1237.      Page 7                                          (printed 4/22/88)
  1238.  
  1239.  
  1240.  
  1241.  
  1242.  
  1243.  
  1244.      CONF(1)                  XENIX System V                   CONF(1)
  1245.  
  1246.  
  1247.  
  1248.                     Delete the last character typed.
  1249.  
  1250.                ^J, ^M
  1251.                     End of line.  Conf will its voodoo on this line.
  1252.  
  1253.                ^L   Clear screen and display current line.
  1254.  
  1255.                ^Q, ^S
  1256.                     X-ON , X-OFF is you have them set.
  1257.  
  1258.                ^R   CRLF and reprint line.
  1259.  
  1260.                ^W   Delete last word.
  1261.  
  1262.                ^Z   Stop process (if supported on your system).
  1263.  
  1264.      ELEPHANT TALK
  1265.           There is a jargon that goes along with online tty
  1266.           communication.  The list that follows will give you an idea
  1267.           of how to interpret local jargoneese.  (Stolen, without
  1268.           permission from MIT's OZ:<COMMON>:JARGON.TXT)
  1269.  
  1270.                Ack! Term of disgust (from Bill the Cat's, "Ackphtft!")
  1271.  
  1272.                BCNU Be seeing you.
  1273.  
  1274.                BTW  By the way...
  1275.  
  1276.                Bye? Are you ready to logout?  (This is the standard
  1277.                     way to end a conference; the other users type BYE
  1278.                     to confirm, or else continue the conversation.)
  1279.  
  1280.                CUL  See you later.  Variation: "CULater"
  1281.  
  1282.                Foo? A greeting, also meaning R U THERE?  Used to
  1283.                     confirm a if a user is at the terminal.  Also
  1284.                     meaning, "What's up?".
  1285.  
  1286.                FYI  For your information...
  1287.  
  1288.                Hello-p
  1289.                     A greeting, also meaning R U THERE?  (An instance
  1290.                     of the "-P" convention.)
  1291.  
  1292.                MtFBWY
  1293.                     May the Force be with you.  (From Star Wars.)
  1294.  
  1295.                Nil  No.
  1296.  
  1297.                OBTW Oh, by the way...
  1298.  
  1299.                R U There?
  1300.  
  1301.  
  1302.  
  1303.      Page 8                                          (printed 4/22/88)
  1304.  
  1305.  
  1306.  
  1307.  
  1308.  
  1309.  
  1310.      CONF(1)                  XENIX System V                   CONF(1)
  1311.  
  1312.  
  1313.  
  1314.                     Are you there?
  1315.  
  1316.                Sec  Wait a second (sometimes written SEC...).
  1317.  
  1318.                T    Yes.
  1319.  
  1320.                TNX  Thanks.
  1321.  
  1322.                TNX 1.0E6
  1323.                     Thanks a million (humorous).
  1324.  
  1325.                /\/\/\
  1326.                     The equivalent of a giggle.
  1327.  
  1328.                [message]
  1329.                     A message surrounded by square brackets "[]" is
  1330.                     considered for information purposes or for
  1331.                     explaining a users physical expression.  Typical
  1332.                     examples include:
  1333.  
  1334.                     [Chuckle]
  1335.                          The users is amused.
  1336.  
  1337.                     [Confused]
  1338.                          The user is confused on a particular subject.
  1339.  
  1340.                     [Sigh]
  1341.                          To indicate a sadness or "Sigh of relief".
  1342.  
  1343.                     [To Restroom]
  1344.                          The user will be away from the screen to take
  1345.                          care of some business.
  1346.  
  1347.      CONF AND EMACS
  1348.           conf.el The conf users of conf are provided with a emacs
  1349.           lisp function that will allow them to run conf as a
  1350.           subprocess of emacs (if they compiled emacs with #define
  1351.           subprocesses).  This gives the users several added features
  1352.           that they would not normally have without emacs.
  1353.  
  1354.                o    The user may receive messages while he/she is
  1355.                     typing messages.
  1356.  
  1357.                o    Emacs will keep a transaction of all messages in
  1358.                     the buffer "*conference*" which previous sends can
  1359.                     be looked at if they were missed.
  1360.  
  1361.                o    Auto-fill of incoming messages.
  1362.  
  1363.                o    The "warm-fuzzy" -- emacs full screen editing.
  1364.  
  1365.           To use conf.el, copy it (probably from
  1366.  
  1367.  
  1368.  
  1369.      Page 9                                          (printed 4/22/88)
  1370.  
  1371.  
  1372.  
  1373.  
  1374.  
  1375.  
  1376.      CONF(1)                  XENIX System V                   CONF(1)
  1377.  
  1378.  
  1379.  
  1380.           /usr/lib/conf/conf.el) into your .emacs file and M-X
  1381.           conference.
  1382.  
  1383.      FILES
  1384.                /usr/lib/conf/confhelp   - Help file.
  1385.  
  1386.                /usr/lib/conf/conflog    - Messages transaction file.
  1387.  
  1388.                /usr/lib/conf/confusers  - User log file.
  1389.  
  1390.                /usr/lib/conf/conf.lock  - A lock file.
  1391.  
  1392.      BUGS
  1393.           Known Bugs:
  1394.                If a SIG_INT (^C) is done while messages are being
  1395.                saved to the record file, parts of the messages may be
  1396.                hacked off.  This is a feature.  fnord.
  1397.           Reporting bugs or suggestions:
  1398.                Send any bugs reports, fixes, or improvements to
  1399.                ag@portnoy.UUCP or ag@crash.UUCP.  I am always open to
  1400.                coherent suggestions or comments.
  1401.  
  1402.      IMPROVEMENTS
  1403.           Several things are in the works.  I have listed some major
  1404.           and minor improvements below.
  1405.  
  1406.           This documentation.
  1407.  
  1408.           Online documentation should include information about
  1409.           variables and more information about HOW TO.
  1410.  
  1411.           There should be a way to set default settings for strings.
  1412.           So, if a user user really spazzes, they may reset to
  1413.           defaults.  This can be taken care of (now) by logging out
  1414.           and re-logging into conf.
  1415.  
  1416.           A Remote conf is being thought of, ideas here would be
  1417.           appreciated.  Maybe conf could be a service on the remote
  1418.           site which would copy any file activity to the local site.
  1419.           Re-organizing the conflog structs to work on any machine
  1420.           would have to be done.
  1421.  
  1422.           The confusers files should be done with shared memory (if
  1423.           the system has it).  This would allow conf to update the
  1424.           "memory" with information like idle time and such.  The
  1425.           biggest problem with conf is that users cannot tell if a
  1426.           person is in the middle of typing a message or if a user has
  1427.           been shot and is slumped over the keys.  Constantly updating
  1428.           a shared file would drag the system down, so idle time will
  1429.           be done in shared memory only.  If anyone has any
  1430.           suggestions ...
  1431.  
  1432.  
  1433.  
  1434.  
  1435.      Page 10                                         (printed 4/22/88)
  1436.  
  1437.  
  1438.  
  1439.  
  1440.  
  1441.  
  1442.      CONF(1)                  XENIX System V                   CONF(1)
  1443.  
  1444.  
  1445.  
  1446.           :ignore user/tty/sends/shouts  will be implemented someday.
  1447.  
  1448.           Some way of hi-lighting text, probably using cryptic escape
  1449.           sequences.  There is a definite need for highlighting in the
  1450.           format strings.
  1451.  
  1452.           Format strings should be checked for validity.  Check '%m'
  1453.           and a linefeed at the end and warn if they don't exist.
  1454.  
  1455.      AUTHOR
  1456.                Keith M. Gabryelski (ag@elgar.UUCP)
  1457.  
  1458.                Special thanks to:
  1459.  
  1460.                     Michael Ditto (ford@kenobi.UUCP)
  1461.  
  1462.  
  1463.  
  1464.  
  1465.  
  1466.  
  1467.  
  1468.  
  1469.  
  1470.  
  1471.  
  1472.  
  1473.  
  1474.  
  1475.  
  1476.  
  1477.  
  1478.  
  1479.  
  1480.  
  1481.  
  1482.  
  1483.  
  1484.  
  1485.  
  1486.  
  1487.  
  1488.  
  1489.  
  1490.  
  1491.  
  1492.  
  1493.  
  1494.  
  1495.  
  1496.  
  1497.  
  1498.  
  1499.  
  1500.  
  1501.      Page 11                                         (printed 4/22/88)
  1502.  
  1503.  
  1504.  
  1505. SHAR_EOF
  1506. fi # end of overwriting check
  1507. cd ..
  1508. #    End of shell archive
  1509. exit 0
  1510. -- 
  1511.   "If green is all there is to be, then green is good enough for me" - ktf
  1512. [  Keith   ]  UUCP: {ucsd, cbosgd!crash, sdcsvax!crash, nosc!crash}!elgar!ag
  1513. [Gabryelski]  INET: ag@elgar.cts.com                 ARPA: elgar!ag@ucsd.edu
  1514.  
  1515.